package cn.yuanqiao.archive.supervision.mapper;

import cn.yuanqiao.archive.supervision.domain.HdDa;
import cn.yuanqiao.archive.supervision.domain.SupervisionDa;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 督察指导档案列表Mapper接口
 * 
 * @author xy
 * @date 2023-08-01
 */
@Mapper
public interface SupervisionDaMapper 
{
    /**
     * 查询督察指导档案列表
     * 
     * @param ID 督察指导档案列表主键
     * @return 督察指导档案列表
     */
    public SupervisionDa selectSupervisionDaByID(Long ID);

    /**
     * 查询督察指导档案列表列表
     * 
     * @param supervisionDa 督察指导档案列表
     * @return 督察指导档案列表集合
     */
    public List<SupervisionDa> selectSupervisionDaList(SupervisionDa supervisionDa);

    /**
     * 新增督察指导档案列表
     * 
     * @param supervisionDa 督察指导档案列表
     * @return 结果
     */
    public int insertSupervisionDa(SupervisionDa supervisionDa);

    /**
     * 修改督察指导档案列表
     * 
     * @param supervisionDa 督察指导档案列表
     * @return 结果
     */
    public int updateSupervisionDa(SupervisionDa supervisionDa);

    /**
     * 删除督察指导档案列表
     * 
     * @param ID 督察指导档案列表主键
     * @return 结果
     */
    public int deleteSupervisionDaByID(Long ID);

    /**
     * 批量删除督察指导档案列表
     * 
     * @param IDs 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSupervisionDaByIDs(@Param("ids") Long[] IDs, @Param("tableName")String tableName);

    int getCountByDaId(@Param("daId") Long daId, @Param("tableName")String tableName, @Param("subTableName") String subTableName);

    List<HdDa> selectHddaList(@Param("supervisionDa") SupervisionDa supervisionDa, @Param("code") String code);

    List<HdDa> selectdaList(@Param("daId") Long daId, @Param("code") String code);

    void updateBySupervisionId(@Param("tableName") String tableName, @Param("supervisionId") Long id, @Param("daIds") String daIds);
}
